package com.vis.mybatisflex.domain.sys;

/**
 * 服务端消息返回对象
 */
public enum MSG {
    /**
     * ↓↓↓↓↓↓↓ 系统保留 ↓↓↓↓↓↓↓
     */
    SU_200(200, "操作成功"),
    NOT_SUPPORT(400, "暂不支持"),
    ER_400(400, "请求失败"),
    PARAM_ER(400, "参数错误"),
    ID_EXISTS(400, "ID已存在"),
    NAME_EXISTS(400, "名称已存在"),
    FILE_NAME_EXISTS(400, " 该文件已存在，如果是您自己上传的文件，请在资料管理页面中 删除后重新上传。"),
    KEY_EXISTS(400, "KEY已存在"),
    USER_NOT_FOUND(400, "账号信息查询失败"),
    REGISTER_EXISTS(400, "该账号已存在"),

    NOT_TOKEN(401, "Token不存在"),

    ER_410(410, "Token失效"),
    MAST_LOGIN(410, "请完成登录操作后，再次访问"),

    ER_411(411, "刷新Token失效"),

    ER_403(403, "权限不足无法访问"),

    ER_404(404, "请求资源不存在"),

    RE_SUBMIT(600, "正在处理中，请勿重复操作"),

    ACCOUNT_EXISTS(400, "账号已存在"),
    PHONE_EXISTS(400, "手机号已存在"),

    CAPTCHA_IMAGE(400, "验证码生成失败"),

    FILE_UPLOAD_NULL_ER(400, "文件为空无法上传"),
    FILE_UPLOAD_ER(400, "文件上传失败"),
    FILE_DELETE_ERROR(400, "文件删除失败"),

    /**
     * ↑↑↑↑↑↑↑↑ 系统保留 ↑↑↑↑↑↑↑↑
     * <p>
     * <p>
     * ↓↓↓↓↓↓↓↓ 业务相关 ↓↓↓↓↓↓↓↓
     */
    USER_MAST_LOGIN_LT(20920, "您尚未注册过“绿添”，请先前往“绿添”注册后继续使用"),
    USER_MAST_ID_CARD_LT(20921, "请先前往绿添小程序实名认证，然后继续使用"),
    USER_CONNECT_ERROR(20012, "联合第三方登录，授权信息错误"),

    USER_PHONE_ERROR(10503, "电话号错误"),
    USER_EMAIL_ERROR(10503, "邮箱错误"),
    USER_PASSWORD_2(10503, "两次输入密码不一致"),
    USER_IS_DISABLE(10503, "账号已禁止登录"),
    USER_LOGIN_ERROR_IS_DISABLE(10501, "账号因多次输入错误密码,已禁止登录"),
    USER_LOGIN_IS_NOT_EXISTS(10502, "账号不存在"),
    USER_LOGIN_IS_REGISTER(10502, "该账号已经注册"),
    USER_LOGIN_PASSWORD_ERROR(10504, "密码输入错误"),
    USER_OLD_PASSWORD_ERROR(10504, "旧密码输入错误"),
    USER_LOGIN_PASSWORD_RE(10504, "网络存在延迟，请再次点击登录"),
    USER_LOGIN_IS_DISABLE(10509, "系统暂时关闭登录功能"),
    USER_REGISTER_RE(10505, "网络存在延迟，请再次点击注册"),
    USER_MT_NO_AUTH(10505, "暂不具备会议资格，请前往我的页面，申请开会"),
    USER_ID_CARD_NAME(400, "身份证姓名输入错误"),
    USER_MT_NO_CREATE(10505, "会议室创建失败，请联系客服处理"),
    AUTH_TOP_SUCCESS(10505, "您已成功上麦。"),
    AUTH_TOP_IS_MAX(10506, "当前会议连麦人数已达到最大"),

    APP_MAST_REGISTER_TO_LT(11501, "账号不存在，请前往绿添小程序注册账号。"),

    CAPTCHA_NULL(10600, "请点击刷新验证码"),
    CAPTCHA_ERROR(10600, "验证码输入错误"),
    ROLE_NOT_EXISTS(10700, "角色信息查询失败"),
    ORG_NOT_EXISTS(10700, "部门信息查询失败"),
    MT_MSG_DISABLE(10700, "您已被禁言"),
    MT_MSG_ALL_DISABLE(10700, "当前会议状态为：禁言模式"),

    RSA_RE(20505, "网络存在延迟，请重新执行当前操作"),

    MT_ROOM_EXISTS(30001, "会议已存在，无法继续创建"),
    MT_ROOM_IS_CLOSE(30001, "不存在进行中的会议"),
    MT_ROOM_IS_OUT(30001, "您已被禁止加入本次会议"),
    MT_ROOM_PASSWORD_ERROR(30001, "入会密码输入错误"),
    MT_ROOM_NO_ACCESS(30001, "暂无资格进入该会议"),
    MT_ROOM_NOT_BEFORE_IN(30001, "主持人不在，禁止入会，请等待主持人回到会议"),
    MT_ROOM_COUNT_MAX(30011, "会议内人数已达上限，暂时无法进入"),
    MT_ROOM_APPLY_HAS_TO_BE_REVIEWED(30010, "当前有待审核申请，请勿重复提交"),
    MT_ROOM_APPLY_HAS_MT_AUTH(30011, "当前已有开启会议资格，请勿重复提交"),

    CHAT_APPLY_LAPSE(40011, "申请已失效"),
    CHAT_APPLY_DONT_MY(40011, "无法添加自己为好友"),
    CHAT_APPLY_ACCESS(40011, "好友申请已经通过"),
    ;

    private final Integer code;
    private final String message;

    MSG(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public String toString() {
        return "{" +
                "  \"code\": " + code +
                "  \"message\": " + message +
                "}";
    }

    public Integer code() {
        return code;
    }

    public String message() {
        return message;
    }
}
